package servidor.controladorsistema.so;

import comum.rn.RNEstatisticas;
import comum.so.exception.FalhaComunicacaoBancoDadosException;
import comum.so.exception.FalhaValidacaoException;
import comum.so.exception.JaExistePerfilCadastradoComEsseLoginException;
import comum.so.exception.LoginEmUsoException;

import servidor.controladorsistema.rn.RNControladorSistema;

public class SOControladorSistemaEntradaImpl implements
		SOControladorSistemaEntrada {

	private RNControladorSistema controladorSistema;

	public SOControladorSistemaEntradaImpl(
			RNControladorSistema controladorSistema) {
		this.setControladorSistema(controladorSistema);
	}

	@Override
	public void validarLogin(String nome, String senha)
			throws FalhaValidacaoException, LoginEmUsoException,
			FalhaComunicacaoBancoDadosException {
		getControladorSistema().validarLogin(nome, senha);
	}

	@Override
	public void deslogar(String identificador) {
		getControladorSistema().deslogar(identificador);
	}

	@Override
	public void cadastrarNovoPerfil(String identificador, String senha)
			throws JaExistePerfilCadastradoComEsseLoginException {
		getControladorSistema().cadastrarNovoPerfil(identificador, senha);
	}

	@Override
	public RNEstatisticas obterEstatisticas(String identificador) {
		return getControladorSistema().obterEstatisticas(identificador);
	}

	protected RNControladorSistema getControladorSistema() {
		return controladorSistema;
	}

	protected void setControladorSistema(RNControladorSistema controladorSistema) {
		this.controladorSistema = controladorSistema;
	}

}
